# 导入openpyxl库，这是一个用于读取、写入Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库
import openpyxl
# 从openpyxl.styles中导入一些样式类，用于设置单元格的样式
from openpyxl.styles import Font, Alignment, Fill, PatternFill, GradientFill

# 创建一个新的工作簿对象
wb = openpyxl.Workbook()
# 获取当前激活的工作表（通常是第一个工作表，名为'Sheet'）
ws = wb.active

# 在工作簿中创建一个新的工作表，命名为"sheet1"，并将其放在索引为1的位置（即放在默认工作表之后）
W1 = wb.create_sheet("sheet1", 1)

# 将"sheet1"工作表移动到索引为-1的位置，即移动到工作簿的第一个位置（索引从0开始）
wb.move_sheet("sheet1", -1)

# 在"sheet1"工作表的E3单元格中写入文本"书上有路勤为径，学海无涯苦作舟"
W1["E3"] = "书上有路勤为径，学海无涯苦作舟"

# 创建一个PatternFill对象，用于设置单元格的填充样式
# 这里设置填充类型为纯色，背景颜色为红色（FF0000）
FX1 = PatternFill(
    patternType="solid",
    bgColor='FF0000'
)
# 将填充样式FX1应用到"sheet1"工作表的E3单元格
W1["E3"].fill = FX1

# 注意：以下代码将会覆盖FX1的填充样式，因为同一个单元格的fill属性只能有一个值
# 创建一个GradientFill对象，用于设置单元格的渐变填充样式
# 这里设置渐变角度为90度，渐变颜色为紫色（FF00FF）、青色（00FFFF）和黄色（FFFF00）
FX2 = GradientFill(
    degree=90,
    stop=("FF00FF", "00FFFF", "FFFF00")
)
# 将渐变填充样式FX2应用到"sheet1"工作表的E3单元格（这会覆盖之前的纯色填充）
W1["E3"].fill = FX2

# 创建一个Font对象，用于设置单元格的字体样式
# 这里设置字体大小为30，斜体，加粗，字体颜色为白色（FFFFFF）
STY1 = Font(
    size=30,
    italic=True,
    bold=True,
    color="FFFFFF"
)
# 将字体样式STY1应用到"sheet1"工作表的E3单元格
W1["E3"].font = STY1

# 创建一个Alignment对象，用于设置单元格的文本对齐样式
# 这里设置水平对齐为左对齐
STY2 = Alignment(
    horizontal='left'
)
# 将文本对齐样式STY2应用到"sheet1"工作表的E3单元格
W1["E3"].alignment = STY2

# 保存工作簿到当前目录下的"test.xlsx"文件
wb.save("./test.xlsx")
